#include <iostream>
#include <vector>
using namespace std;

void test(){
    vector<int> vec;
    vec.push_back(10);
    vec.push_back(20);
    vec.push_back(30);
    
    bool flag = true;
    for(auto it = vec.begin(); it != vec.end(); it++){
        cout << *it << endl;
        if (flag){
            vec.push_back(100);
            //此时执行push_back导致了底层发生了扩容，然后导致迭代器还指向老的空间（迭代器失效了）
            //为了解决迭代器失效：可以更新迭代器
            flag = false;
            it = vec.begin();
        }
    }
}


int main(){
    test();
    return 0;
}